O que é pragma once?

Nas linguagens de programação C e C++, #pragma once é uma diretiva de compilação não standard mas que é largamente adotada por alguns compiladores, como o Microsoft Visual C++. Esta diretiva é usada em headers (ficheiros com extensão ".h" ou ".hpp", por exemplo) e serve para fazer com que o ficheiro atual apenas seja incluído uma vez durante o processo de compilação. Serve o mesmo propósito que as #include guards, mas com as vantagens de requerer menos código, evitar colisões de nomes, e em alguns casos até melhorar o tempo de compilação.

Exemplo

File "creature.h"

#pragma once

struct creatureInfo
{
    int member;
};

File "animal.h"

#include "creature.h"

File "human.h"

#include "creature.h"
#include "animal.h"

Neste exemplo o ficheiro creature.h apenas será compilado uma vez, apesar de os ficheiros animal.h e human.h ambos o definirem.

Ligações externas

Fonte original: pragma once. Compartilhado com Creative Commons Attribution-ShareAlike 3.0 License

Categorias